package com.ctshk.rpc.system.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.ctshk.common.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 *
 * </p>
 *
 * @author 谢诗宏
 * @since 2021-01-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_sys_area")
@ApiModel(value = "SysArea对象", description = "SysArea对象")
public class SysArea extends BaseEntity implements Comparable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "父级ID")
    private Long parentId;

    @ApiModelProperty(value = "国家ID")
    private Long countryId;

    @ApiModelProperty(value = "国家编码")
    private String countryCode;

    @ApiModelProperty(value = "国家简体")
    private String countrySimple;

    @ApiModelProperty(value = "国家繁体")
    private String countryTraditional;

    @ApiModelProperty(value = "国家英文")
    private String countryEn;

    @ApiModelProperty(value = "国家拼音")
    private String countryPinyin;

    @ApiModelProperty(value = "省份编码")
    private String provinceCode;

    @ApiModelProperty(value = "省份简体")
    private String provinceSimple;

    @ApiModelProperty(value = "省份繁体")
    private String provinceTraditional;

    @ApiModelProperty(value = "省份拼音")
    private String provincePinyin;

    @ApiModelProperty(value = "省份英文")
    private String provinceEn;

    @ApiModelProperty(value = "城市编码")
    private String cityCode;

    @ApiModelProperty(value = "城市简体")
    private String citySimple;

    @ApiModelProperty(value = "城市繁体")
    private String cityTraditional;

    @ApiModelProperty(value = "城市拼音")
    private String cityPinyin;

    @ApiModelProperty(value = "城市英文")
    private String cityEn;

    @ApiModelProperty(value = "地区中文")
    private String areaSimple;

    @ApiModelProperty(value = "地区繁体")
    private String areaTraditional;

    @ApiModelProperty(value = "地区拼音")
    private String areaPinyin;

    @ApiModelProperty(value = "地区英文")
    private String areaEn;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "修改人")
    private Long modifiedId;

    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;

    @ApiModelProperty(value = "层级")
    private Integer level;

    @ApiModelProperty(value = "状态(0：启用 1：禁用)")
    private Integer status;

    @Override
    public int compareTo(Object o) {
        SysArea a = (SysArea) o;
        return this.level - a.level;
    }
}
